Scaling algorithm